設定延遲釋放時機,
# 預設
# 是否在移出時執行非同步刪除
lazyfree-lazy-eviction no
# 是否在key過期時執行非同步刪除
lazyfree-lazy-expire no
# 是否針對更新數值的命令時執行非同步刪除
lazyfree-lazy-server-del no
# 是否在同步Replica時執行非同步 flushDB
replica-lazy-flush no
是否針對用戶端更新數值的命令時執行非同步刪除.
# 預設
lazyfree-lazy-user-del no
是否在用戶端執行非同步 flushDB.
# 預設
lazyfree-lazy-user-flush no
Redis 6.0 支援設定io與read所使用的threads,建議四核心的CPU以上才開啟此設定依照需求進行設定,超過八核心建議設定6 threads.
# 預設
# io-threads 4
# io-threads-do-reads no
是否開啟設定哪些Processes在out of memory時可以被刪除.
# 預設
oom-score-adj no
設定可以被刪除的Processes範圍值,越高代表越容易被刪除.
# 預設
oom-score-adj-values 0 200 800
是否關閉hugepage.
(避免CoW造成延遲問題)
# 預設
disable-thp yes
異動日誌檔.
# 預設
# 關閉
appendonly no
異動日誌檔案名稱.
# 預設
appendfilename "appendonly.aof"
寫入日誌檔模式.
# 預設
# fsync 在每次寫入僅附加日誌後,速度慢,但最安全。
# appendfsync always
# 每秒fsync一次,速度與安全取得平衡。
appendfsync everysec
# 不要fsync,讓操作系統在需要的時候刷新數據,速度快.
# appendfsync no
是否在背景aof文件rewrite期間使用fsync.
# 預設
no-appendfsync-on-rewrite no
設定aof檔案差異比例,當aof檔案比上次rewrite的差異比例大小。aof rewrite即在aof檔案在符合設定大小之後,重新將整個記憶體資料寫到aof檔案當中,以儲存最新的狀態(相當於bgsave).
aof檔案rewrite最小的檔案大小,即最開始aof檔案必須要達到設定大小時才觸發,後面的每次rewrite就不會根據這個設定了(因為根據上一次rewrite完成之後的大小).Redis Server初始化啓動有效.如果是Redis Server恢復時,則lastSize等於初始aof檔案大小。
# 預設
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
Redis Server在恢復時,會忽略最後一條可能存在問題的指令。即在用戶端操作當下aof檔案寫入時,可能存在指令寫錯的問題(突然斷電,寫了一半),這種情況下,yes會log並繼續,而no會直接恢復失敗。
# 預設
aof-load-truncated yes
在開啓了這個混合模式功能之後,aof rewrite產生的檔案將同時包含rdb格式的內容和aof格式的內容,其中rdb格式的內容用於記錄已有的數據,而aof格式的內存則用於記錄最近發生了變化的數據,這樣Redis Server就可以同時兼有rdb持久化和aof持久化的優點(既能夠快速地生成重寫文件,也能夠在出現問題時,快速地載入數據)。
# 預設
aof-use-rdb-preamble yes